1. Field of the Invention
The present invention is directed to the use of a track model to constrain a GPS position.
2. Description of the Related Art
Technologies for tracking moving objects are in demand. For example, systems are used to track airplanes, automobiles, persons, objects at sporting events and other objects of interest. One technology that has become popular for tracking objects is the use of the Global Positioning System (GPS). GPS is a satellite based navigation system operated and maintained by the U.S. Department of Defense. GPS consists of a constellation of GPS satellites providing worldwide, 24 hour, three dimensional navigational services. By computing the distance to GPS satellites orbiting the earth, a GPS receiver can calculate an accurate position of itself. This process is called satellite ranging. The position being tracked is the position of the antenna of the GPS receiver.
Each GPS satellite carries an atomic clock to provide timing information for the signals transmitted by the satellites. Internal clock correction is provided for each satellite clock. Each GPS satellites transmits two spread spectrum, L-band carrier signals-an L1 signal with carrier frequency f1=1575.42 MHz and an L2 signal with carrier frequency f2=1227.6 MHz. These two frequencies are integral multiples f1=1540f0 and f2=1200f0 of a base frequency f0=1.023 MHz. The L1 signal from each satellite uses binary phase shift keying (BPSK), modulated by two pseudorandom noise (PRN) codes in phase quadrature, designated as a C/A code and P code. The L2 signal from each satellite is BPSK modulated by only the P code.
A GPS receiver measures distance using the travel time of radio signals. To measure travel time of a GPS signal from the satellite to a receiver, the receiver will generate the same pseudo-random code as the satellite and compare the generated code with the received code to determine the shift between the two codes. The travel time is multiplied by the speed of light to determine the distance between the satellite and the receiver. Along with distance, a GPS receiver needs to know exactly where the satellites are in space. A calculation of a three dimensional location generally requires valid data from four satellites. GPS receivers can also provide precise time information.
The above described method of computing position requires very accurate synchronization of the satellite and receiver clocks used for the time measurements. GPS satellites use very accurate and stable atomic clocks, but it is economically infeasible to provide a comparable clock in a receiver. The problem of clock synchronization is circumvented in GPS by treating the receiver clock error as an additional unknown in the navigation equations and using measurements from an additional satellite to provide enough equations for a solution for time as well as for position. Thus, the receiver can use a less expensive clock for measuring time. Such an approach leads to the pseudorange measurement:
xcfx81=c(trcvexe2x88x92txmit) 
where trcve is the time at which a specific, identifiable portion of the signal is received, txmit is the time at which that same portion of the signal is transmitted, and c is the speed of light. Note that trcve is measured according to the receiver clock, which may have a large time error. The variable txmit is in terms of GPS satellite time.
If pseudorange measurements can be made from at least four satellites, enough information exists to solve for the unknown position (X, Y, Z) of the receiver antenna and for the receiver clock error Cb. The equations are set up by equating the measured pseudorange to each satellite with the corresponding unknown user-to-satellite distance plus the receiver clock error:             ρ      1        =                                                      (                                                x                  1                                -                X                            )                        2                    +                                    (                                                y                  1                                +                Y                            )                        2                    +                                    (                                                z                  1                                +                Z                            )                        2                              +              c        b                        ρ      2        =                                                      (                                                x                  2                                -                X                            )                        2                    +                                    (                                                y                  2                                +                Y                            )                        2                    +                                    (                                                z                  2                                +                Z                            )                        2                              +              c        b                        ρ      3        =                                                      (                                                x                  3                                -                X                            )                        2                    +                                    (                                                y                  3                                +                Y                            )                        2                    +                                    (                                                z                  3                                +                Z                            )                        2                              +              c        b                        ρ      4        =                                                      (                                                x                  4                                -                X                            )                        2                    +                                    (                                                y                  4                                +                Y                            )                        2                    +                                    (                                                z                  4                                +                Z                            )                        2                              +              c        b            
where xcfx81i denotes the measured pseudorange of the ith satellite whose position in ECEF coordinates at txmit is (x1, y1, z1). There are four equations depicted above. The unknowns in this nonlinear system of equations are the receiver position (X,Y,Z) in ECEF coordinates and the receiver clock error Cb. If more than four satellites are used, there will be an equation for each satellite.
There are a number of errors that are associated with GPS ranging, including errors due to the Earth""s ionosphere and atmosphere, noise, multipath satellite clock, and ephemeris errors. Additionally, basic geometry itself can based on the configuration of the satellites in the sky can magnify the errors. The dilution of precision, a measure of error, is a description of the uncertainty of particular GPS data.
One enhancement to standard GPS technology includes the techniques of differential GPS, which involves a reference GPS receiver that is stationary and has its position accurately surveyed. To understand differential GPS, it is important to know that satellite signals have errors which have a high spatial and temporal correlation. So, if two receivers are fairly close to each other, the signals that reach both of them will have traveled through virtually the same slice of atmosphere, and will have virtually the same errors. With differential GPS, the stationary reference receiver is used to measure errors. The reference receiver then provides error correction information to the other receivers (e.g. roving receivers). This way, systemic errors can be reduced. The reference receiver receives the same GPS signals as the roving receivers. Instead of using timing signals to calculate its position, the reference receiver uses its known position to calculate timing. It figures out what the travel time of the GPS signals should be, and compares it to what they actually are. The difference is used to identify the error information (also called differential corrections or differential GPS data). The reference receiver then transmits the differential corrections to the roving receivers in order to correct the measurement of the roving receivers. Since the reference receiver has no way of knowing which of the many available satellites a roving receiver might be using to calculate is position, the reference receiver quickly runs through all the visible satellites and computes each of their errors. The roving receivers apply the differential corrections to the particular satellite data they are using based on information from the reference receiver. The differential correction from the reference receiver improves the pseudorange position accuracy because its application can eliminate to varying degrees many of the spatially and temporally correllated errors in the pseudorange measured at the rover receiver. A differential GPS reference receiver can also transmit its carrier measurements and pseudoranges to the roving receiver. The set of measurements and pseduoranges transmitted from the reference receiver can be used to improve the position accuracy through the use of differential carrier positioning methods.
Despite the use of differential GPS, many land applications which use GPS are hampered by the restrictions imposed by buildings and natural impediments to the transmitted GPS signals. Often the GPS geometry is too poor to provide the geometrical strength required to generate the position accuracy that an application requires. One particular example of an environment for which the above described GPS technology does not provide sufficient accuracy and reliability is the real-time tracking of automobiles (or other objects) during a race, which requires extreme positioning accuracy and reliability in conditions of reduced satellite visibility and a highly dynamic environment. In an environment such as a professional auto race, the visibility of all satellites is severely reduced at some point on the track due to the existence of obstacles such as a grandstand. Additionally, the availability of satellites is reduced and the remaining signals are corrupted by the proximity of objects such as a 10 meter tall overhanging steel and wire fence on the outside edge of the track. Typically, the tracks are not level and the cross track slope is not constant (varying by as much as 35 degrees between the straight sections and the curves), all of which further degrade GPS accuracy and reliability. There are many environments in addition to race tracks which have the same problems.
Clock and height constraints can be used to supplement the geometry provided by the satellite constellation and in some cases provide a degraded solution in cases when less than four satellites are available. If a height constraint is used to aid the position estimation, the method used is to assume the constraint is with respect to a planar surface which is parallel to the local level plane at the approximate position of the receiver. The uncertainty of the constraining position can be represented in the local level frame by a diagonal covariance matrix with large entries for the horizontal components and a relatively small entry for the vertical component. Since the estimation is done in the Earth Centered Earth Fixed (ECEF) frame, the covariance in the local level frame has to be transformed to the ECEF frame with the linear transformation relating the two frames. In many land and air applications, such constraints are not particularly useful for navigation because the constraints are often not accurate enough to significantly strengthen the navigation solution.
Therefore, an improvement to current GPS technology is needed in order to accurately track objects in environments (e.g. race track and others) with the conditions similar to that described above.
The present invention, roughly described, pertains to the use of a track model to constrain a GPS derived position in order to improve accuracy and reliability. In one embodiment, the track model includes a set of planar surfaces which approximate the contiguous (or non-contiguous) surface (or surfaces) on which navigation takes place (or near where navigation takes place). The GPS receiver searches for an appropriate planar surface associated with its approximate position. Having found the appropriate planar section, the GPS receiver constrains its position using the planar surface associated with its approximate position. Using the track model improves the accuracy of the computed position at the time and improves the ambiguity estimation process so that positions with greatly improved accuracy are available sooner.
One embodiment of the present invention includes accessing a model of one or more surfaces that an object travels in relation to and using that model to constrain a GPS based determination of a position of the object. In one implementation, the GPS receiver searches for an appropriate planar section by projecting its approximate position onto a horizontal reference frame used by the model. Having found the appropriate planar section, the remote receiver constrains its position in the direction normal to the planar section. In one alternative, the model is created based on a geographic frame, the GPS based position determination is performed in an ECEF frame, the process of identifying the appropriate planar section is performed in an intermediate frame, the planar sections are triangles (or other polygons), the system can use the model to perform a single epoch pseudorange differential process that is constrained by one of the triangles (pseudorange diff.), and/or the system can use the model to constrain a position determined with a Kalman filter (carrier diff.).
In one embodiment, the track model constraining process is similar in some ways to the height constraint process. However, in the track model constraint process the constraint position and covariance (or weight) matrix change at almost every positioning epoch, and the constraining planes are not necessarily parallel to the local level plane.
The present invention can be accomplished using hardware, software, or a combination of both hardware and software. The software used for the present invention is stored on one or more processor readable storage media including hard disk drives, CD-ROMs, DVDs, optical disks, floppy disks, tape drives, flash memory, RAM, ROM or other suitable storage devices. In alternative embodiments, some or all of the software can be replaced by dedicated hardware including custom integrated circuits, gate arrays, FPGAs, PLDs, and special purpose computers. In some embodiments, one or more processing units, a storage device, an antenna and associated logic are used to implement the present invention. The hardware can be used with or without software.
These and other objects and advantages of the present invention will appear more clearly from the following description in which the preferred embodiment of the invention has been set forth in conjunction with the drawings.